package com.zenith.article.po.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 文章分类VO
 *
 * @author zenith
 * @since 2025-08-29
 */
@Data
@Schema(name = "ArtCategoryVO", description = "文章分类VO")
public class ArtCategoryVO {

    @Schema(description = "主键ID")
    private Long id;

    @Schema(description = "父级ID，0为顶级")
    private Long parentId;

    @Schema(description = "分类名称")
    private String name;

    @Schema(description = "多级路径 0/1/3/")
    private String path;

    @Schema(description = "类目层级")
    private Integer level;

    @Schema(description = "排序序号")
    private Integer sortOrder;

    @Schema(description = "是否叶子节点")
    private Integer isLeaf;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "扩展信息JSON")
    private String extJson;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "子分类")
    private List<ArtCategoryVO> children;
}